﻿using MiniFox.Components;
using MiniFox.Infrastructure;
using Sys.Core.Models.Queries;
using Sys.Core.Models.VO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sys.Core.Providers
{
    [AutoRegister]
    public interface IDispatcherProvider
    {
        MailFailItemVo FailItem(string messageId);
        ResultObject<IEnumerable<MailFailItemVo>> FailQuery(PagedQueryObject<MailQuery> request);
        MessageVo MessageItem(string messageId);
        ResultObject<IEnumerable<MessageVo>> MessageQuery(PagedQueryObject<MessageQuery> request);
        MailSentItemVo SentItem(string messageId);
        ResultObject<IEnumerable<MailSentItemVo>> SentQuery(PagedQueryObject<MailQuery> request);
    }
}
